package com.evendai.sipdemo.bean

/**
 * 用户信息对象。usercode与ipphone区别，usercode为登录账号，登录web时使用，ipphone为sip账号，注册sip时使用
 */
data class UserInfo(
        /** 部门id，如：100102 */
        val departmentid: String?,
        /** 部门名称(通讯录接口才有的属性)，如：广铁集团 */
        val departmentname: String?,
        /** 员工id */
        val employeeid: String?,
        /** ip电话,如：10001，这就是Sip账号，相当于球机编号如30001，它对应的视频会议号为80001，相当于球机的90001 */
        val ipphone: String?,
        /** web登录状态，参考loginstatus枚举：0-未登录、1-已登录 */
        val loginstatus: String?,
        /** 手机号码 */
        val mobile: String?,
        val postdepttype: Int?,
        /** 职务id，如：1 */
        val postid: Int?,
        val postlevel: Int?,
        val postname: String?,
        val postparentid: Int?,
        val status: Int?,
        /** 办公电话 */
        val telephone: String?,
        /** 用户账号，即登录账号,如：GZN001 */
        val usercode: String?,
        /** 用户id，如：27 */
        val userid: String?,
        /** 员工姓名，如果没设置则和登录账号相同 */
        val username: String?,
        /** 用户类型，参考usertype枚举：0-铁路内部员工、1-球机、2-调试台、4-执法仪 */
        val usertype: String?,

        // 现在接口改了，查询用户信息时，具有上面的那些属性，下面的没有------------↑↑↑↑↑↑↑↑↑↑↑↑↑↑-----------------------


        /** 职务名称，如：处长 */
        val postName: String?,
        /** 在职状态 0在职，1离职，2其他 (通讯录接口才有的属性)，参考empstatus枚举：0-在职、1-离职、2-其他 */
        val empstatus: String?,
        /** 用户的视频会议号(通讯录接口才有的属性)，如： 80001*/
        val ipgroup: String?,
        /** 视频会议号的描述(通讯录接口才有的属性)，如：zfy001前摄像头 */
        val ipgroupdesc: String?,
        /** 音/视频打开状态(通讯录接口才有的属性)，参考openstatus枚举： 0-未打开、1-已打开*/
        val openstatus: String?,
        /** 音/视频被使用状态(通讯录接口才有的属性)，参考watchedstatus枚举： 0-无、1-有*/
        val watchedstatus: String?,
        /** 用户状态：0正常，1冻结 */
        val userstatus: String?,
        /** 站点id */
        val stationid: String?,
        /** 站点编号 */
        val stationcode: String?,
        /** 站点名称 */
        val stationname: String?,
        /** 站点描述 */
        val stationdesc: String?,
        /** 备注 */
        val remark: String?,
        /** 纬度 */
        val latitude: String?,
        /** 经度 */
        val longitude: String?,
) {
        /** 指示用户是否已经登录web服务器，登录为true，否则为false */
        val isLoggedIn: Boolean get() = loginstatus == "1"
        /** 返回用户的标题，由用户名和登录账号组成，如：张三(17010001) */
        val title: String get() = "$username($usercode)"
}